package com.livvy.commons.utils.math;

/**
 * Copyright livvy guo and other contributors
 * Released under the MIT license
 * <p/>
 * Created with IntelliJ IDEA.
 * User: GuoZheng
 * Date: 13-11-17
 * Time: 下午4:29
 */

public class Binary {
    /**
     * 判断一个数字(dest)转化成二进制之后倒数第 index位上的数是否为1
     * @param dest 数字
     * @param index 倒数第几位
     * @return 是1则返回true 否则返回false
     */
    public static boolean isTrueInPosition(int dest, int index) {
        int x = dest & (1 << index);
        boolean result = (x == 0) ? true : false;
        return result;
    }

    /**
     * 判断一个数字(dest)转化成二进制之后倒数第 index位上的数是否为1
     * @param dest 数字
     * @param index 倒数第几位
     * @return 是1则返回true 否则返回false
     */
    public static boolean isTrueInPosition(Integer dest, int index) {
        if (dest == null) {
            return false;
        }
        return isTrueInPosition(dest.intValue(), index);
    }
}
